////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                            //
//                                                         WNProject                                                          //
//                                                                                                                            //
//            This file is distributed under the BSD 2-Clause open source license. See License.txt for details.               //
//                                                                                                                            //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

#ifndef __WN_SCRIPTING_SCRIPT_VARIABLE_H__
#define __WN_SCRIPTING_SCRIPT_VARIABLE_H__

#include "WNScripting/inc/WNScriptingConfig.h"
#include "WNScripting/inc/WNTypeManager.h"
#include "WNScripting/inc/WNIdentifierMap.h"

namespace WNScripting {
    struct WNScriptVariable {
        WNTypeElement mType;
        WNIdentifierElement mName;
        llvm::Value* mLlvmAlloca;
    };
}
WN_BOOL WN_INLINE WNIsValid(const WNScripting::WNScriptVariable& _var) {
    return(WNIsValid(_var.mName) && WNIsValid(_var.mType));
}
#endif // __WN_SCRIPTING_SCRIPT_VARIABLE_H__